<!--  -->
<template>
  <div class="">
    <Bus></Bus>
  </div>
</template>

/**
  全局事件总线使用前提是需要在main.js中将$bus挂载到Vue实例上
  绑定事件一般在mounted中进行
  $bus.$on("事件名",回调函数)
  触发事件可以在任意时候
  $bus.$emit("事件名",参数)
  解绑事件一般在beforeDestroy中进行
  $bus.$off("事件名",回调函数)
 */

<script>
import Bus from '@/components/Bus/index.vue';

export default {
  //import引入的组件需要注入到对象中才能使用
  components: {Bus},
  data() {
    //这里存放数据
    return {};
  },
  //监听属性 类似于data概念
  computed: {},
  //监控data中的数据变化
  watch: {},
  //方法集合
  methods: {
    showMsg() {
      console.log("showMsg");
    },
    showTitle(id) {
      console.log("showTitle" + id);
    },
  },
  //生命周期 - 创建完成（可以访问当前this实例）
  created() {},
  //生命周期 - 挂载完成（可以访问DOM元素）
  mounted() {
    // 绑定方法
    this.$bus.$on("showMsg", this.showMsg);
    this.$bus.$on("showTitle", this.showTitle);
  },
  beforeCreate() {}, //生命周期 - 创建之前
  beforeMount() {}, //生命周期 - 挂载之前
  beforeUpdate() {}, //生命周期 - 更新之前
  updated() {}, //生命周期 - 更新之后
  beforeDestroy() {
    // 解绑方法
    this.$bus.$off("showMsg");
    this.$bus.$off("showTitle");
  }, //生命周期 - 销毁之前
  destroyed() {}, //生命周期 - 销毁完成
  activated() {}, //如果页面有keep-alive缓存功能，这个函数会触发
};
</script>


<style scoped>
/* @import url(); 引入公共css类 */
</style>